package com.artisan.util;

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtil {
    /**
     * 时间戳转换成日期格式字符串
     *
     * @param timeStamp 时间戳
     * @param format      格式， 默认yyyy-MM-dd HH:mm:ss
     * @param isMs        是否是毫秒
     * @return
     */
    public static String timeStamp2Date(long timeStamp, String format, boolean isMs) {
        if (!isMs) {
            timeStamp = timeStamp * 1000;
        }
        if (format == null || format.isEmpty()) {
            format = "yyyy-MM-dd HH:mm:ss";
        }
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        return sdf.format(timeStamp);
    }

    /**
     * 日期格式字符串转换成时间戳
     *
     * @param date_str   字符串日期
     * @param format 如：yyyy-MM-dd HH:mm:ss
     * @return
     */
    public static String date2TimeStamp(String date_str, String format) {
        try {
            SimpleDateFormat sdf = new SimpleDateFormat(format);
            return String.valueOf(sdf.parse(date_str).getTime() / 1000);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }

    /**
     * 取得当前时间戳（精确到毫秒）
     *
     * @return
     */
    public static long timeStampMillisecond() {
        long time = System.currentTimeMillis();
        return time;
    }

    /**
     * 取得当前时间戳（精确到秒）
     *
     * @return
     */
    public static long timeStampSecond() {
        long time = System.currentTimeMillis();
        return time / 1000;
    }
}
